package xyz.xiaoshengfu.xrpc.config;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * <p>Title: XRpcConfig</p>
 * <p>Description: xRPC配置信息</p>
 * @author xiaoshengfu(2439323118@qq.com)
 * @date 2020年3月24日
 */
public class XRpcConfig implements Serializable {

	private static final long serialVersionUID = 1L;

	private Date startUpTime;
	private ApplicationConfig applicationConfig;
	private ProtocolConfig protocolConfig;
	private RegistryConfig registryConfig;
	private List<ReferenceBean> referenceBeanList = new ArrayList<ReferenceBean>();
	private List<ServiceBean> serviceBeanList = new ArrayList<ServiceBean>();

	public XRpcConfig() {
		super();
	}

	public XRpcConfig(ApplicationConfig applicationConfig, ProtocolConfig protocolConfig, RegistryConfig registryConfig,
			List<ReferenceBean> referenceBeanList, List<ServiceBean> serviceBeanList) {
		super();
		this.applicationConfig = applicationConfig;
		this.protocolConfig = protocolConfig;
		this.registryConfig = registryConfig;
		this.referenceBeanList = referenceBeanList;
		this.serviceBeanList = serviceBeanList;
	}

	public Date getStartUpTime() {
		return startUpTime;
	}

	public void setStartUpTime(Date startUpTime) {
		this.startUpTime = startUpTime;
	}

	public ApplicationConfig getApplicationConfig() {
		return applicationConfig;
	}

	public void setApplicationConfig(ApplicationConfig applicationConfig) {
		this.applicationConfig = applicationConfig;
	}

	public ProtocolConfig getProtocolConfig() {
		return protocolConfig;
	}

	public void setProtocolConfig(ProtocolConfig protocolConfig) {
		this.protocolConfig = protocolConfig;
	}

	public RegistryConfig getRegistryConfig() {
		return registryConfig;
	}

	public void setRegistryConfig(RegistryConfig registryConfig) {
		this.registryConfig = registryConfig;
	}

	public List<ReferenceBean> getReferenceBeanList() {
		return referenceBeanList;
	}

	public void setReferenceBeanList(List<ReferenceBean> referenceBeanList) {
		this.referenceBeanList = referenceBeanList;
	}

	public List<ServiceBean> getServiceBeanList() {
		return serviceBeanList;
	}

	public void setServiceBeanList(List<ServiceBean> serviceBeanList) {
		this.serviceBeanList = serviceBeanList;
	}

	@Override
	public String toString() {
		return "XRpcConfig [applicationConfig=" + applicationConfig + ", protocolConfig=" + protocolConfig
				+ ", registryConfig=" + registryConfig + ", referenceBeanList=" + referenceBeanList
				+ ", serviceBeanList=" + serviceBeanList + "]";
	}

}
